# 给定两个字符串 s 和 t ，判断它们是否是同构的。

# 如果 s 中的字符可以按某种映射关系替换得到 t ，那么这两个字符串是同构的。

# 每个出现的字符都应当映射到另一个字符，同时不改变字符的顺序。不同字符不能映射到同一个字符上，相同字符只能映射到同一个字符上，字符可以映射到自己本身。

 

# 示例 1:

# 输入：s = "egg", t = "add"
# 输出：true
# 示例 2：

# 输入：s = "foo", t = "bar"
# 输出：false
# 示例 3：

# 输入：s = "paper", t = "title"
# 输出：true
 
class Solution:
    def isIsomorphic(self, s: str, t: str) -> bool:
        return len(set(s)) == len(set(t)) == len(set(zip(s,t)))
    

# ps: zip()函数 将两个列表压缩成一个元素
# e.g. 
# a = [1,2,3]
# b = [a,b,c]
# c = zip(a,b)  ===> c = [(1,a), (2,b), (3,c)]
# 解包：  d = zip(*c) ===> d = [(1,2,3),(a,b,c)] ###  需要for key in 迭代 直接打印 d 会仅打印类型与地址